import time, os, random
from datetime import datetime
from reboot import Message
from uiautomation import WindowControl, MenuControl  # 导入自动化控制相关模块
import pyautogui as pg


def main():
    print('Running……')
    wx = WindowControl(Name="微信", searchDepth=1)  # 绑定名为微信的主窗口控件
    wx.SwitchToThisWindow()  # 切换窗口
    hw = wx.ListControl(Name="会话")  # 寻找会话控件绑定
    while True:  # 循环等待消息
        try:
            we = hw.TextControl(searchDepth=4)  # 查找未读消息
            if we.Name:  # 加入存在未读消息
                we.Click(simulateMove=False)  # 点击未读消息
                last_msg = wx.ListControl(Name='消息').GetChildren()[-1].Name  # 读取最后一条消息
                msg = Message(last_msg)
                now = datetime.now().strftime('%H:%M:%S')
                print(f'Time：{now}\n收到消息：{last_msg}\n发送消息：{msg}')
                # self.win.textBrowser.append(f'Time：{now}\n收到消息：{last_msg}\n发送消息：{msg}')
                if msg:  # 判断是否有关键词内容，如果有，则执行以下代码
                    if msg == '看美女':
                        pg.hotkey('ctrl', 'v')
                        pg.hotkey('enter')
                        print(f'Time：{now}\n收到消息：{last_msg}\n发送消息：[图片]')
                        wx.TextControl(SubName='图片'[:5]).RightClick()  # 通过消息匹配检索会话栏中的联系人并右击

                    else:
                        wx.SendKeys(msg, waitTime=0)  # 将结果输入文字框
                        wx.SendKeys("{Enter}", waitTime=0)  # 回车发送消息
                        wx.TextControl(SubName=msg[0][:5]).RightClick()  # 通过消息匹配检索会话栏中的联系人并右击
                else:  # 如果没有关键词内容，则执行以下代码
                    wx.TextControl(SubName=last_msg[:5]).RightClick()
                ment = MenuControl(ClassName="CMenuWnd")  # 匹配右击控件
                ment.TextControl(Name="不显示聊天").Click()  # 点击右击控件中的不显示聊天
        except Exception as e:
            print(e)


if __name__ == '__main__':
    main()
